home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / Hack / MISC / HTC32.ZIP / HOWTO3_2.TXT
Encoding:
Text File  |  1996-05-18  |  10.4 KB  |  209 lines

  1.  
  2.             HOW TO CRACK, A TUTORIAL - LESSON 3 (2)
  3.                  by +ORC (the old red cracker)
  4.  
  5. How to crack, an approach                         LESSON 1
  6. How to crack, tools and tricks of the trade       LESSON 2
  7. -> How to crack, hands on, paper protections      LESSON 3 (1-2)
  8. How to crack, hands on, time limits               LESSON 4
  9. How to crack, hands on, disk-Cdrom access         LESSON 5
  10. How to crack, funny tricks                        LESSON 6 (1-2)
  11. How to crack, intuition and luck                  LESSON 7
  12. How to crack windows, an approach                 LESSON 8
  13. How to crack windows, tools of the trade          LESSON 9
  14. How to crack, advanced cracking                   LESSON A (1-2)
  15. How to crack, zen-cracking                        LESSON B
  16. How to crack, cracking as an art                  LESSON C
  17. How to crack                                      INDEX
  18.  
  19. LESSON 3 (2) - HOW TO CRACK, HANDS ON (3.2) Passwords, second
  20. part, and something about passletters
  21.  
  22. You have seen in the previous lesson that the use of a password
  23. protection, independently of the coding and hiding methods used
  24. to store them in memory, implies the use of a comparing procedure
  25. with the password that the user types in. You therefore have many
  26. options to begin your cracking work: 
  27. -    find the location of the user password
  28. -    find the "echo" in memory of the real password
  29. -    find the routine that compares both
  30. -    find the passwords hideout and encryption type
  31. -    find the go_ahead_nice_buyer exit or jump
  32. -    find the beggar_off_ugly_copier exit or jump
  33. just to name the more obvious ones. In order to make things more
  34. difficult for us crackers, the protectionists have devised many
  35. counter-strategies, the more obvious ones being:
  36. -    keeping the various part of the store/compare/hide routines
  37. well apart in code (no match for zen-cracking);
  38. -    filling these routines with "bogus" compares, bogus jumps
  39. and bogus variables, in order to make things more difficult for
  40. the crack (no match for decent crackers);
  41. -    disseminating the code with anti-debugger tricks, like INT_3
  42. instructions or jumps in and out protected mode (no match for our
  43. beloved [Soft-Ice]);
  44. -    trying to eliminate the need for passwords altogether
  45. letting the user input "one letter" or "one number" or "one
  46. image" as answer to some variable question. In this lesson I'll
  47. teach you how to crack these "passletters" protection techniques.
  48.  
  49. Let's first resume the "uses" of a password protection:
  50.  
  51. PASSWORDS AS PERMISSION TO ACCESS
  52. These passwords serve to acknowledge that a legitimate user is
  53. using the program. This is the type of password that you'll find,
  54. for example, protecting your user account on Compuserve, on
  55. Networks or even in ATM machines used by banks or corporations.
  56. These require a little hardwiring to crack: ATM passnumber
  57. protection schemes rely on an answer from the central computer
  58. (they do NOT verify only the three magnetic areas in the magnetic
  59. strip on the card). The lines between ATM's & their hosts are
  60. usually 'weak' in the sense that the information transmitted on
  61. them is generally not encrypted in any way. (Some banks use
  62. encrypted information, but this is fairly easy to crack too).
  63. So for ATMs you should do the following 1) cross over the
  64. dedicated line between the ATM and the host; 2) insert your
  65. computer between the ATM and the host; 3) Listen to the "normal"
  66. messages and DO NOT INTERFERE YET; 4) Try out some operations
  67. with a legal card, make some mistakes, take note of the various
  68. codes; 5) When you are ready insert a fraudulent card into the
  69. ATM. Now the following happens: 
  70. -    the ATM sends a signal to the host, saying "Hey! Can I give
  71. this guy money, or is he broke, or is this funny card invalid?";
  72. -    the microcomputer intercepts the signal from the host,
  73. discards it, sends on the "there's no one using the ATM" signal;
  74. -    the host gets the "no one using" signal and sends back its
  75. "good, keep watching out if somebody comes by, and for God's sake
  76. don't spit out any money on the street!" signal to the ATM;
  77. -    the microcomputer intercepts this signal (again), throws it
  78. away (again), and sends the "Wow! That guy is like TOO rich! Give
  79. him as much money as he wants. In fact, he's so loaded, give him
  80. ALL the cash we have!  He is a really valued customer." signal.
  81. -    the ATM obediently dispenses cash till the cows come home.
  82.      All this should be possible, but as a matter of fact it has
  83. not much to do with cracking, unless there is a special software
  84. protection on the line... so if you want to work on ATMs contact
  85. our fellow phreakers/hackers and learn their trade... and
  86. please remember to hack only cash dispenser that DO NOT HAVE a
  87. control camera :=)
  88.  
  89. PASSWORDS AS REGISTRATION
  90. This type of password is often used in shareware programs. When
  91. you register the shareware program, you are sent a password that
  92. you use to upgrade your shareware program to a complete and more
  93. powerful version. This method, used frequently for commercial
  94. applications, has recently been used quite a lot by many windows
  95. applications that come "crippled" on the magazines cover CD-roms,
  96. requiring you to telephone a hot line (and paying) in order to
  97. get the "unique key" to unlock the "special protection". It's all
  98. bullshit: we'll learn in the "how to crack windows" lessons how
  99. easy it is to disable the various routines that verify your
  100. entry.
  101.  
  102. PASSWORDS AS COPY PROTECTIONS
  103. This type of password is often used for games and entertainment
  104. software. The password query does not usually appear any more at
  105. the start of the program, or as the program is loading. Instead,
  106. the password query appears after one or more levels are completed
  107. (this innovation was pioneered by "EOB I" and the "Ultima"
  108. series) or when the user reloads a saved game or session.
  109.  
  110. DONGLE PASSWORDS
  111.      A few extremely expensive programs use a dongle (also called
  112. an hardware key). A dongle is a small hardware device containing
  113. a password or checksum which plugs into either a parallel or a
  114. serial port. Some specially designed dongles even include
  115. complete program routines. Dongles can be cracked, but the amount
  116. of work involved is considerable and the trial and error
  117. procedure currently used to crack them via software is extremely
  118. tedious. It took me more than a week to crack MULTITERM,
  119. Luxembourger dongle protected program. The quickest method to
  120. crack dongle protected programs, involves the use of pretty
  121. complicated hardware devices that cannot be dealt with here. I
  122. myself have only seldom seen them, and do not like at all to
  123. crack dongles via software, coz it requires a huge amount of zen
  124. thinking and of luck and of time. If you want more information
  125. on the hardware way to crack dongles, try to contact the older
  126. ones on the appropriate web sites, they may even answer you if
  127. you are nice, humble and really technically interested.
  128.  
  129.      The obvious principle, that applies to the software password
  130. types mentioned above is the following: The better the password
  131. is hidden, and the better it is encrypted, the more secure the
  132. program will be. The password may be
  133. -    encrypted and/or
  134. -    in a hooked vector and/or
  135. -    in an external file and/or
  136. -    in a SMC (Self modifying code) part
  137.  
  138.      Let's finally inspect the common "ready_made" protection
  139. schemes (used by many programmers that do not program
  140. themselves):
  141. *    password read in
  142. *    letters added to a key to be entered
  143. *    complement of the letters formed xoring with 255
  144. *    saved key (1 char)
  145. *    saved password (256 chars)
  146. *    saved checksum (1 char), as protection, against simple
  147.      manipulations
  148. *    generating file PASSWORD.DAT with password, to be inserted
  149.      inside a different file than the one containing the calling
  150.      routine
  151. Now the lazy programmer that wants to "protect" his program
  152. searches first the file where the password is stored, then loads
  153. the key, the password and the checksum. He uses a decrypt
  154. procedure to decrypt the password and a check_checksum procedure
  155. to check whether the password was modified. All this is obviously
  156. crackabe in few seconds.
  157.  
  158. [PASSWORD ACCESS INSIDE THE SETUP]
  159.      Some computers have a password protected access INSIDE the
  160. Setup (at the beginning), the protection scheme does not allow
  161. a boot with a floppy and does not allow a setup modify. In these
  162. cases the only possible crack is an old hack method: 
  163. *    open the PC
  164. *    find on the motherboard a small jumper (bridge) with the
  165.      words "Pw"
  166. *    take it away
  167. *    PC on
  168. *    run the setup with F1 or Del (depending from the BIOS) (the
  169.      protection will not work any more)
  170. *    deactivate inside the setup the option password
  171. *    PC off
  172. *    put the small jumper (bridge) back again
  173. *    close the PC
  174. *    PC on, cracked (if you want to be nasty you could now use
  175.      the setup to set YOUR password)
  176.      If you want to know more about access refuse and access
  177. denying, encryption and locking of the FAT tables, get from the
  178. web, and study, the (very well written) code of a virus called
  179. "Monkey", that does exactly this kind of devastation. Virus
  180. studying is, in general, very useful for cracking purposes, coz
  181. the virus'code is at times
  182. -    very well written (pure, tight assembly)
  183. -    using concealing techniques not much different from the
  184.      protection schemes (often far superior)
  185. -    using the most recent and best SMC (self modifying code)
  186.      tricks
  187.  
  188.      But, and this is very important, do not believe that the
  189. protection schemes are very complicated! Most of the time the
  190. protection used are incredibly ordinary: as a final example of
  191. our paper protection schemes, let's take a program released not
  192. long ago (1994), but with a ridiculous protection scheme: TOP
  193. (Tiger on the prowl) a simulation from HPS.
  194. Here the cracking is straightforward:
  195. -    MAP(memory_usage) and find main_sector
  196. -    type "AAAA" as password
  197. -    (s)earch main_sector:0 lffff "AAAA"
  198. -    dump L80 "AAAA" location -40 (gives you a "wide" dump),
  199.      this gives you already the "echo" of the correct password
  200. -    breakpoint on memory read & write to "AAAA" location and
  201.      backtrace the complete main_sector
  202. it's done! Here the code_lines that do protect TOP:
  203.      8A841C12  MOV  AL,[SI+121C]   move in AL first user letter
  204.      3A840812  CMP  AL,[SI+1208]   compare with echo
  205.      7402      JZ   go_ahead_nice_buyer
  206.      EB13      JMP  beggar_off_ugly_cracker
  207.  
  208. Now let's quickly crack it:
  209.